import java.util.Arrays;

public class MyStack {
    private  int[] elem;
    private  int usedSize;
    private  static  final  int DEFAULT_CAPACITY=10;
    public  MyStack(){
        this.elem=new int[DEFAULT_CAPACITY];
        //无参构造方法，使用时默认开辟10个空间
    }
    public  void push(int a){
        if(isFull()){
            elem= Arrays.copyOf(elem,2*elem.length);
        }
        elem[usedSize]=a;
        this.usedSize++;

    }
    public  boolean isFull(){
        return usedSize==elem.length;
    }
    public  int pop(){
        if(isEmpty()){
            throw  new EmptyException();

        }
        int oldVal=elem[usedSize-1];
        usedSize--;
        return oldVal;

    }
    public  int peek(){
        if(isEmpty()){
            throw new EmptyException();
        }

        return elem[usedSize-1];

    }
    public   boolean isEmpty(){
        return usedSize==0;

    }
}
